# 猫眼网站内有自己的解码，导致爬取的数据并不完全，所以需要我们自己推导模拟解码过程
# 思路：将&#x编码转化为十进制编码，通过十进制编码指定为固定数字。
# 输入字符串型 例如：&#xe317;&#xe5ac;&#xeab3;&#xe1b7;.&#xf66d;&#xeab3;
def decode_html_entities(input_str):
    # 定义 HTML 实体编码与数字的对应关系
    # 规则如下：
    entity_map = {
        '&#xf66d;': '0', '&#xf726;': '0', '&#xeba2;': '0', '&#xf7b3;': '0', '&#xea6f;': '0',
        '&#xe6d5;': '1', '&#xed8f;': '1', '&#xed30;': '1', '&#xedba;': '1', '&#xf85e;': '1',
        '&#xec68;': '2', '&#xe3ec;': '2', '&#xe99c;': '2', '&#xf0f0;': '2', '&#xe886;': '2',
        '&#xf615;': '3', '&#xe85f;': '3', '&#xf11c;': '3', '&#xe583;': '3', '&#xe8d7;': '3',
        '&#xeab3;': '4', '&#xe8ee;': '4', '&#xf16b;': '4', '&#xefe9;': '4', '&#xf7d2;': '4',
        '&#xef74;': '5', '&#xed4f;': '5', '&#xf3e8;': '5', '&#xecdc;': '5', '&#xe83d;': '5',
        '&#xe5ac;': '6', '&#xea60;': '6', '&#xf7ff;': '6', '&#xf23f;': '6', '&#xf70e;': '6',
        '&#xe317;': '7', '&#xe3df;': '7', '&#xeb92;': '7', '&#xe916;': '7', '&#xe132;': '7',
        '&#xe1b7;': '8', '&#xf1fc;': '8', '&#xf05a;': '8', '&#xe83f;': '8', '&#xef28;': '8',
        '&#xe274;': '9', '&#xec4b;': '9', '&#xe9ea;': '9', '&#xed98;': '9', '&#xeb19;': '9'
    }

    # 替换 HTML 实体编码为相应的数字
    for entity, number in entity_map.items():
        input_str = input_str.replace(entity, number)

    return input_str
